<!DOCTYPE html>
<html lang="pt-br">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			Propriedade de grafo de cena em buffer que permite acumulação ponderada; usado internamente.
		</p>


		<h2>Construtor</h2>


		<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
		<p>
			-- binding <br />
			-- typeName <br />
			-- valueSize <br />
		</p>


		<h2>Propriedades</h2>


		<h3>[property:PropertyBinding binding]</h3>
		<p>

		</p>

		<h3>[property:TypedArray buffer]</h3>
		<p>
			Buffer com tamanho [page:PropertyMixer valueSize] * 4. <br /><br />
			Possui o layout: [ incoming | accu0 | accu1 | orig ]<br /><br />
			Os interpoladores podem usar .buffer como seu .result e os dados então vão para 'incoming'.
			'accu0' e 'accu1' são usados ​​intercalados por quadros para o resultado cumulativo e
			são comparados para detectar alterações. 'orig' armazena o estado original da propriedade.
		</p>

		<h3>[property:Number cumulativeWeight]</h3>
		<p>
			O padrão é `0`.
		</p>

		<h3>[property:Number cumulativeWeightAdditive]</h3>
		<p>
			O padrão é `0`.
		</p>

		<h3>[property:Number valueSize]</h3>
		<p>

		</p>

		<h3>[property:Number referenceCount]</h3>
		<p>
			O padrão é `0`.
		</p>

		<h3>[property:Number useCount]</h3>
		<p>
			O padrão é `0`.
		</p>


		<h2>Métodos</h2>


		<h3>[method:undefined accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
		<p>
			Acumula dados em [page:PropertyMixer.buffer buffer][accuIndex] na região 'incoming' em 'accu[i]'.<br />

			Se o weight é `0` isso não faz nada.
		</p>

		<h3>[method:undefined accumulateAdditive]( [param:Number weight] )</h3>
		<p>
			Acumule dados na região 'incoming' em 'add'.<br />

			Se o weight é `0` isso não faz nada.
		</p>


		<h3>[method:undefined apply]( [param:Number accuIndex] )</h3>
		<p>
			Aplica o estado de [page:PropertyMixer.buffer buffer] 'accu[i]' à ligação quando os accus forem diferentes.
		</p>

		<h3>[method:undefined saveOriginalState]( )</h3>
		<p>
			Lembra o estado da propriedade vinculada e copia para ambos os accus.
		</p>

		<h3>[method:undefined restoreOriginalState](  )</h3>
		<p>
			Aplica o estado obtido anteriormente por meio de 'saveOriginalState' à ligação.
		</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
